$(function () {
  const layer = layui.layer
  // 定义验证登录名及密码是否合法的正则
  const regTel = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/
  const regPwd = /^[\S]{6,12}$/
  // 刚进入登陆页面渲染tab栏及banner图
  initTab()
  async function initTab() {
    const { data: res } = await axios({
      method: 'GET',
      url: '/index/index'
    })
    if (res.errno !== 0) {
      return layer.msg('获取分类数据失败！')
    }
    renderTab(res.data.allCate)
    renderBg(res.data.config.allData)
  }
  // 定义渲染tab栏的函数
  function renderTab(data) {
    const htmlStr = data
      .map(item => {
        return `<li class="menu-item menu-item-type-taxonomy menu-item-object-category">
      <a href="list.html?cateid=${item.id}&catename=${item.catename}"><span class="fa ${item.icon}"></span>${item.catename}</a>
      </li>`
      })
      .join('')
    $('.nav').html(`<li class="navmore"></li>
    <li class="menu-item menu-item-type-taxonomy menu-item-object-category current-menu-item current_page_item">
      <a title="" href="index.html"><span class="fa fa-home"></span>趣·首页</a>
    </li>${htmlStr}`)
  }
  // 定义渲染背景的函数
  function renderBg(data) {
    const bg = data.find(item => {
      return item.attr_key === 'loginreg_bg'
    })
    if (!bg.attr_value) return
    $('.lt img').prop('src', 'http://124.223.14.236:8060/' + bg.attr_value)
  }
  // 注册
  $('.btn').on('click', async function () {
    const tel = $('.phone').val()
    const pwd = $('.pwd').val()
    const repwd = $('.repwd').val()
    if (!regTel.test(tel)) {
      return layer.msg('手机号格式不正确！')
    } else if (!regPwd.test(pwd)) {
      return layer.msg('密码必须6到12位，且不能出现空格!')
    } else if (repwd !== pwd) {
      return layer.msg('两次输入的密码不一致！')
    }
    const { data: res } = await axios({
      method: 'POST',
      url: '/index/reg',
      data: {
        mobile: Number(tel),
        password: pwd
      }
    })
    if (res.errno !== 0) {
      return layer.msg('注册失败！')
    }
    layer.msg('注册成功，请登录！')
    setTimeout(() => {
      $('.tips a')[0].click()
    }, 1500)
  })
})
